#include <Box2D.h>
#include "common.h"
#include "b2WeldJoint.h"
#ifdef __cplusplus
extern "C" {
#endif

JNIEXPORT jint JNICALL Java_b2WeldJoint_jniGetAnchorA
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	b2Vec2* vec = new b2Vec2();
	*vec = joint->GetAnchorA();
	return (jint)vec;
}

JNIEXPORT jint JNICALL Java_b2WeldJoint_jniGetAnchorB
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	b2Vec2* vec = new b2Vec2();
	*vec = joint->GetAnchorB();
	return (jint)vec;
}


JNIEXPORT jfloat JNICALL Java_b2WeldJoint_jniGetReactionTorque
  (JNIEnv *env, jclass cls, jint addr, jfloat)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	return joint->GetReactionTorque();
}


JNIEXPORT jint JNICALL Java_b2WeldJoint_jniGetReactionForce
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	b2Vec2* vec = new b2Vec2();
	*vec = joint->GetReactionForce();
	return (jint)vec;
}


JNIEXPORT jint JNICALL Java_b2WeldJoint_jniGetLocalAnchorA
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	b2Vec2* vec = new b2Vec2();
	*vec = joint->GetLocalAnchorA();
	return (jint)vec;
}

JNIEXPORT jint JNICALL Java_b2WeldJoint_jniGetLocalAnchorB
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	b2Vec2* vec = new b2Vec2();
	*vec = joint->GetLocalAnchorB();
	return (jint)vec;
}

JNIEXPORT jfloat JNICALL Java_b2WeldJoint_jniGetReferenceAngle
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	return joint->GetReferenceAngle();
}


JNIEXPORT jfloat JNICALL Java_b2WeldJoint_jniGetFrequency
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	return joint->GetFrequency();
}

JNIEXPORT void JNICALL Java_b2WeldJoint_jniSetFrequency
  (JNIEnv *env, jclass cls, jint addr, jfloat hz)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	joint->SetFrequency(hz);
}

JNIEXPORT jfloat JNICALL Java_b2WeldJoint_jniGetSpringDampingRatio
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	return joint->GetSpringDampingRatio();
}

JNIEXPORT void JNICALL Java_b2WeldJoint_jniSetSpringDampingRatio
  (JNIEnv *env, jclass cls, jint addr, jfloat ratio)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	joint->SetSpringDampingRatio(ratio);
}

JNIEXPORT void JNICALL Java_b2WeldJoint_jniSetDampingRatio
  (JNIEnv *env, jclass cls, jint addr, jfloat ratio)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	joint->SetDampingRatio(ratio);
}

JNIEXPORT jfloat JNICALL Java_b2WeldJoint_jniGetDampingRatio
  (JNIEnv *env, jclass cls, jint addr)
{
	b2WeldJoint* joint = (b2WeldJoint*)addr;
	return joint->GetDampingRatio();
}

#ifdef __cplusplus
}
#endif
